package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.Destination;
import cn.wolfcode.luowowo.article.domain.DestinationTheme;
import cn.wolfcode.luowowo.common.query.QueryObject;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IDestinationService {
    /**
     * 查询分页数据
     * @param qo 分页条件
     * @return
     */
    PageInfo selectForList(QueryObject qo);

    /**
     * 获取面包屑导航的父级目的地放到集合里面
     * @param parentId
     * @return
     */
    List<Destination> getToasts(Long parentId);

    /**
     * 修改目的地的热门状态
     * @param id
     * @param hot
     * @return
     */
    AjaxResult chageHotState(Long id, Integer hot);

    /**
     * 查询所有目的地
     * @return
     */
    List<Destination> list();

    /**
     * 根据id数组查询目的地
     * @param rid
     * @return
     */
    Object listDestByRegionId(Long rid);

    /**
     * 根据区域id查询该区域下的目的地,包括它的子目的地
     * 如果reegionId = -1, 就查询parentId=1的省分和子目的地
     * @param regionId
     * @return
     */
    List<Destination> listHotDestByRegionId(Long regionId);

    /**
     * 编辑简介
     * @param id
     * @param info
     * @return
     */
    AjaxResult updateInfo(Long id, String info);

    /**
     * 根据目的地id获取国家
     * @param destId
     * @return
     */
    Destination getCountry(Long destId);

    /**
     * 根据目的地id查询省份
     * @param destId
     * @return
     */
    Destination getProvince(Long destId);

    /**
     * 查询父目的地下的子目的地 7个
     * @param destId
     * @return
     */
    List<Destination> listTop7ByParentId(Long destId);
}
